package com.robotserver.orders.service;

import com.robotserver.orders.entity.JdOrders;
import com.robotserver.orders.param.JdOrderApiPullDto;
import com.robotserver.orders.param.JdOrderSyncParam;
import com.robotserver.orders.param.TbOrderSyncParam;
import com.robotserver.orders.param.biz.JdOrderPullParam;
import com.robotserver.orders.vo.JdOrderApiPullVo;
import com.robotserver.orders.vo.biz.PageVO;

import java.util.List;

/**
 * @Auther: jianghan
 * @Date: 2019/11/8 11:24
 * @Description: 京东订单
 */
public interface JdOrderService {
    void syncOrder(JdOrderSyncParam jdOrderSyncParam);

    PageVO getOrderList(JdOrderPullParam param);

    List<JdOrders> getByOrderId(String orderId);

    JdOrders getByordAndSku(Long order_id, Long sku_id,Long createdt,String unionId,String authKey);

    /**
     * 生产者-往redis队列当中生产jdTokens
     */
    void syncOrder_producer(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 消费者-消费redis队列当中的jdTokens
     */
    void syncOrder_consumer(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 通过工具商获取订单
     */
    void syncOrder_byAppKey(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 通过工具商获取京拥订单
     */
    void syncJyOrder_byAppKey(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 补单拉取京东订单-生产者-往redis队列当中生产
     */
    void syncOrder_byAppKey_producer(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 补单拉取京东订单-生产者-往redis队列当中生产
     */
    void syncOrder_byAppKey_consumer(JdOrderSyncParam jdOrderSyncParam);

    /**
     * 直接从京东API拉去订单
     * @author jitwxs
     * @date 2022/11/3 19:44
     */
    PageVO apiPull(JdOrderApiPullDto jdOrderApiPullDto);

}
